#pragma once
#include "Window.h"
#include "Graphics.h"
#include "GameTimer.h"
#include <memory>
#include "SamplesList.h"
#include "NodeEditor.h"
class Application
{
public:
	Application(int width,int height,const char* name);
	~Application() = default;
	int Run();
private:
	void GUI();
	void Render(float dt);
	void HandleInput(float dt);
	void Update(float dt);
private:
	std::unique_ptr<Graphics> m_pGfx;
	std::unique_ptr<Window> m_pWindow;
	SamplesList* sampleList = nullptr;
	GameTimer timer;
};